perm filename M[AM,DBL]1 blob sn#166103 filedate 1975-07-05 generic text, type T, neo UTF8
(FILECREATED " 5-JUL-75 15:44:04" <LENAT>M.;8 1950   

     changes to:  M1 M2 SUB-CANDS MCOMS PRUNE UNPRUNABLE PICK-CAND ADD-CANDS RESET1

     previous date: " 5-JUL-75 13:03:04" <LENAT>M.;3)


  (LISPXPRINT (QUOTE MCOMS)
	      T T)
  (RPAQQ MCOMS ((FNS ADD-CANDS M1 M2 PICK-CAND PRUNE RESET1 SUB-CANDS UNPRUNABLE)))
(DEFINEQ

(ADD-CANDS
  [LAMBDA (C)
    (SETQ CANDS (NCONC C CANDS])

(M1
  [LAMBDA (Z)
    (OR (ILESSP (CAR Z)
		(CAR CAND))
	(SETQ CAND Z])

(M2
  [LAMBDA NIL
    (SETQ CAND (LIST 0))
    (MAPC CANDS (QUOTE M1])

(PICK-CAND
  [LAMBDA NIL
    (PROG NIL
      P1  (M2)
          (COND
	    ((ILESSP (CAR CAND)
		     DO-THRESH)
	      (DE-THRESH)
	      (FIND-NEW-CANDS)
	      (GO P1)))
          (CPRIN1 5 "NEW CAND = " CAND)
          (COND
	    ((DREMOVE CAND CANDS))
	    ((SETQ CANDS CAND-TAIL)))
          (COND
	    ((RECENTLY-TRIED CAND)
	      (CPRIN1 3 " REPEATER CAND SKIPPED " CRLF)
	      (DE-THRESH)
	      (AND (ZEROP DO-THRESH)
		   (DIE " DO-THRESH IDENTICALLY ZERO "))
	      (GO P1))
	    ((AND (SETQ CS-OP (COP CAND))
		  (SETQ CS-B (CB CAND))
		  (SETQ CS-P (CP CAND))
		  (ENSURE-TOP))
	      (SETQ CS-INT (CINT CAND))
	      (SETQ CS-ACT (CACT CAND))
	      (SETQ GEXISTING (GETB CS-B CS-P))
	      (RETURN CAND)))
          (GO P1])

(PRUNE
  [LAMBDA (N)
    (SETQ CANDS (SUBSET CANDS (QUOTE UNPRUNABLE])

(RESET1
  [LAMBDA (Z)
    (MAPB (OR (EQ B (QUOTE LIST-STRUC))
	      (PROGN (PROGN (REMPROP B (QUOTE EXS))
			    (REMPROP B (QUOTE EXS-BDY])

(SUB-CANDS
  [LAMBDA (SL)
    [MAPC SL (FUNCTION (LAMBDA (S)
	      (SOME CANDS (FUNCTION (LAMBDA (C)
			(AND (EQUAL (CACT C)
				    (CACT S))
			     (RPLACA C (IQUOTIENT (CINT C)
						  2]                            (* This is rather an inefficient way to 
										do this.)
    CANDS])

(UNPRUNABLE
  [LAMBDA (C)
    (ILESSP INTHRESH (CAR C])
)
(DECLARE: DONTCOPY
  (FILEMAP (NIL (330 1926 (ADD-CANDS 342 . 401) (M1 405 . 480) (M2 484 . 557) (PICK-CAND 561 . 1332) (PRUNE 1336 . 1408)
(RESET1 1412 . 1557) (SUB-CANDS 1561 . 1862) (UNPRUNABLE 1866 . 1923)))))
STOP